package chap5.Task1;
/*
4:改进冒泡排序，排序后保留原来的数的位置
比如，3，2，4，1这个数组，
排序后是 1，2，3，4
则位置信息是3，1，0，2（提示，用一个新数组，保存位置信息，变动的时候位置跟着换）
 */
public class Task4 {
    public static void main(String[] args) {
        int a[]={9,8,7,6,5,4,3,2,1};
        int b[]={0,1,2,3,4,5,6,7,8}; //保存数组a原元素冒泡排序后的位置
        int temp,k;
        //冒泡排序，外层循环n-1次，每一次内层循环n-1-i 次(i=0)

        for(int i=0;i<a.length-1;i++){
            for(int j=0;j<a.length-1-i;j++){
                if(a[j]>a[j+1]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                    k=b[j];
                    b[j]=b[j+1];
                    b[j+1]=k;
                }
            }
        }
        System.out.println("输出冒泡排序后的数组a:");
        for(int i=0;i<a.length;i++)
            System.out.print(a[i]+" ");

        System.out.println();
        System.out.println("输出数组a原元素冒泡排序后的位置:");
        for(int i=0;i<b.length;i++)
            System.out.print(b[i]+" ");

    }
}
